1. Technical Field
The present invention relates in general to the field of computers, and in particular to computers on a wide area network such as the Internet. Still more particularly, the present invention relates to a method and system that allows a client computer to retrieve a subset of content served by a web server from a topologically closest edge caching server.
2. Description of the Related Art
As the World Wide Web (WWW or “web”) becomes more populated with webpages from web servers, network traffic control becomes more critical. Efficient delivery of such webpages is improved by caching webpages in edge servers.
All WWW-based systems are capable of using a Domain Name Server (DNS). When searching for a website, a user will typically type into her browser a Uniform Resource Locator (URL), which is a global address for a resource on the web. For example, the URL of www.ibm.com is a global address that includes a protocol (www) for a website, the website's domain name (“.ibm”), as well as the domain name's extension (“.com”) that describes the website as being commercial. However, the URL alone will not locate the website, which is actually located at an Internet Protocol (IP) address that consists of four numbers separated by periods (such as 255.255.210.11). Thus, to locate the website, the URL must be translated into an IP address. This is performed by a Domain Name Server (DNS).
An exemplary system using edge servers is shown in FIG. 1a. A client computer 102 and a secondary local DNS 104 are coupled to an enterprise Local Area Network (LAN) 106. The secondary DNS 104 is a DNS caching server that contains IP addresses for web servers and caching servers from an authoritative DNS 116 that is on the external side of the enterprise LAN 106. As is known to those skilled in the art of network architecture and address resolution, an authoritative DNS server holds definitive DNS records for a given domain name. Such a server may or may not contain DNS records for domain names other than those for which it is the authority. When queried by a resolver, a DNS server either returns a result from its cache, or follows a DNS authority chain to ultimately consult the authoritative DNS server for a zone in question.
The enterprise LAN 106 is coupled, via an external router 108, to the Internet 110. Coupled to the Internet 110 are an edge server 112, a web server 114, as well as the authoritative DNS 116 already mentioned.
The web server 114 is an original web server, and contains the original copy of webpages and other content ascribed to the URL associated with web server 114. Edge server 112 contains some or all of the webpages stored on web server 114. Therefore, edge server 112 is often referred to as an edge caching server, since it holds a copy (all or part) of a webpage, in a manner analogous to memory caches, and ideally is topologically closer to a webpage requesting client computer 102 than the original web server 114.
Before requesting content from web server 114, client computer 102 first queries the local DNS 104 which, in turn, queries the authoritative DNS 116; the latter is programmed to return the IP address of the edge server closest to the requestor in terms of the metrics chosen (e.g. number of network hops) and hence would return the IP address of edge server 112. In the topology shown in FIG. 1a, local DNS 104 forwards that IP address to the client computer 102.
Operation of the system shown in FIG. 1a is based upon an implicit assumption that a local DNS is located close to client computers which query it for domain name resolution. Hence an edge server closest to a local DNS would be also closest to the client machines that the local DNS serves.
While the system shown in FIG. 1a generally works well, a major problem can arise when the above implicit assumption is not satisfied. For example, when client computer 102 is connected to a geographically distributed corporate network 106 (see FIG. 1b), where client computer 102 and DNS 104 use different routers (108a and 108b respectively) to connect to the Internet 110, the distance between the two routers is a considerable value in terms of the metrics chosen for the edge caching implementation. For example, assume for illustrative purposes that external router 108a is in California and external router 108b is 3,000 miles away in New York. Also assume that edge server 112a is near California while edge server 112b is near New York. According to the topology described in FIG. 1a, client computer 102 will ask secondary local DNS 104 for the IP address of an edge server 112 that has desired content. Secondary local DNS 104 will, when queried, return the IP address of the edge server 112 that is closest to secondary local DNS 104, even though it is much farther away from client computer 102 that edge server 112a, which also has a copy of the desired content. Thus the desired benefit of using nearby caching edge servers is defeated, since the edge server 112 chosen by secondary local DNS 104 is actually farther away from client computer 102 than the authoritative web server 114.